home *** CD-ROM | disk | FTP | other *** search
Text File | 2000-03-08 | 24.5 KB | 446 lines | [TEXT/ttxt] |
- The ObjectPlant 2.1.7
-
- Date of Release: 9 March 2000
-
- The ObjectPlant is a OOA/OOD tool based on the OMT and UML notation. It can be used
- to create Class Diagrams, State Diagrams, Sequence Diagrams and Use Case Diagrams.
- The ObjectPlant can also be used to generate C++ or Java code skeletons and/or
- documentation on Word 5.1-6.0 RTF format.
-
- C++ and Java code can be reverse engineered (10USD extra per each single license).
-
- The ObjectPlant folder contents:
- - ObjectPlant PowerPC version of the program
- - 68k ObjectPlant 68k version of the program
-
- - Data type files folder which contains files with data types sets that
- can be read into ObjectPlant:
- - C++ Data Types text file with a subset of the standard C++ data types
- - Java Data Types text file with a subset of the standard Java data types
- - Mac Data Types text file with a subset of the standard Mac data types
- - NeoAccess_Data_Types text file with a subset of the NeoAccess data types
- - PowerPlant_Data_Types text file with a subset of the PowerPlant data types
- - Quickdraw_3D_Data_Types text file with a subset of the QuickDraw3D data types
-
- - Code Generation templates folder which contains a set of files that can be used to
- generate different kinds of documents, e.g. code
- - C++Template.cc template file for generation of C++ code skeletons
- - C++Template.h template file for generation of C++ code skeletons
- - C++CWTemplate.cc template file for generation of C++ CodeWarrior specific
- code skeletons
- - C++CWTemplate.h template file for generation of C++ CodeWarrior specific
- code skeletons
- - C++SpecialTemplate.cc template file for generation of C++ code skeletons
- - C++SpecialTemplate.h template file for generation of C++ code skeletons
- - Java template file for generation of Java code skeletons
- - HTML Template template file for generation of HTML documentation
- - Word 5.1-6.0 template file for generation of documentation in
- RTF format suitable for Word 5.1-6.0
- - 2.1 User's manual the user's manual in pdf (Acrobat) format
- - Example (ObjectPlant) an example document
- - Cheat sheet an example document containing information about the
- different model items
- - Register program for creating register forms to be sent to Kagi
-
- Requirements:
- System 7.1 or later
- 68020 or better
- 3 Mb free RAM
-
- Registering
- To register use the Register program to create a register form which then shall be sent
- to Kagi Shareware using mail, email or fax.
-
- The price for a single license is 25 USD, there are also site and world licenses available for
- 500 USD resp. 2000 USD.
-
- The reverse engineering parts of ObjectPlant require separate registering and the price
- for a single license is 10 USD, there are also site and world licenses available for
- 200 USD resp. 800 USD.
-
- http://www.kagi.com
- Email: shareware@kagi.com (1 to 3 day processing time delay)
- FAX: +1 510 652 6589 (4 to 8 day processing time delay)
- Postal address: (4 to 8 day delay plus transit time to Kagi)
- Kagi
- 1442-A Walnut Street PMB #392-MU
- Berkeley, California, 94709-1405
- USA
-
- Please note that Kagi automatically rejects any electronic payment that come includes
- a hotmail.com address. Refer to http://www.kagi.com/FAQs/hotmail.com
-
- N.B. Kagi is a payment processing company and they are not the author/shipper of the
- product. Any problems with receiving registration codes or any problems with the product
- itself shall be addressed to the author at m-arc@algonet.se or micke@kagi.com
-
- Registration codes will be sent to you normally within a week after receive a
- confirmation of your order from Kagi.
-
-
- Disclaimer
- This software is provided "as-is". I take no responsiblity in any damage caused by the
- software, use of the software or any of its outputs such as generated code. Use it at
- your own risk.
-
-
- Changes in 2.1.7 (9 March 2000)
- • Corrected a bug in the Java parser. Now the keyword "final" is allowed in a method's
- list of parameters.
- • Corrected a bug that was introduced in the last version: data types files were not
- shown in the "load set" or "append set" dialogs (unless their names ended in .h or .hpp)
- • Corrected a bug causing ObjectPlant to show the cursor even when running in the
- background.
- • Corrected select and tool bugs in the Sequence Diagrams (Event Trace diagrams).
- • Corrected a bug in the State dialog. The "entry", "do" and "exit" fields were not
- properly updated when bringing up the State dialog.
- • Updated several model items and names to comply with UML 1.3.
- • Added tool tips.
-
-
- Known Bugs
-
- • The C++ parser does not handle a "long double" operator correctly, i.e.
- operator long double() const;
- will generate a parsing error.
- • The main windows sometimes look "messy". Everything is not erased properly when
- moving parts around.
- • Moving a set of relationsships and classes can sometimes leave some of the lines
- behind.
- • If you use code generation, you cannot use the ':' character in class names.
- • Line drawing is not very good. When changing between different views lines are not
- updated (adjusted) as expected.
- • If the "Page Setup" or "Print Page" commands do not work, try selecting a printer
- in the chooser.
- • Snap to grid is only implemented in the Use Case diagram page.
- • Packages cannot be copied.
- • EPS output for free text may not be correct. I have no possibility to verify this.
- • Using any other font than helvetica may produce strange output when exporting
- EPS pictures.
-
- Use the web-page http://www.softsys.se/ObjectPlant/ to get new releases, report bugs etc.
-
- Questions concerning the program can be sent directly to the author
- at m-arc@algonet.se or micke@kagi.com
-
-
- This program should only travel in the complete folder.
-
- Have fun,
-
- Mikael Arctaedius
- Stockholm, Sweden
-
- email: m-arc@algonet.se
- http://www.softsys.se/ObjectPlant/
-
-
- Release History
-
- Changes in 2.1.6 (8 November 1999)
- • Better drawing of navigation arrows when attached to qualifier boxes.
- • License check for CodeRetriever back in business again...
-
- Changes in 2.1.5 (5 November 1999)
- • Corrected a problem with parsing structs inside class definitions.
- • Corrected a problem with parsing initializers for const attributes in C++.
- • Corrected a problem with parsing struct initializers.
- • Corrected a problem with parsing template types in operation parameter.
- • Better scroll handling in dialog windows and main windows.
- • Attributes in an abstract class are now using a normal font, i.e. not italicezed.
- • Corrected a problem with associations which sometimes became invisible if the
- "Rectilinear lines" preference option was off.
- • Corrected problems related to very long strings, for example saving or opening
- a file with a very long class description could in previous versions cause a crash.
- Also generating code with long strings could cause a crash.
- • And much more...
-
- Changes in 2.1.4 (19 May 1999)
- • Corrected a problem that could cause windows to become invisible, i.e. they were
- positioned outside the screen. Normally all such windows are relocated but due to
- a bug in the relocation function, windows above the screen was not correctly relocated.
- • Will now import Java code containing anonymous inner classes.
- • Corrected yet another set of memory leaks and also added a warning that will
- show up when memory is getting dangerously low.
- • Increased the stack size for the PowerPC version of ObjectPlant. This will make it
- possible to open and save very large models.
- • Made a partial implementation for support of templates. Class templates can now be
- created in the model and code generated for them also. But the C++ parser does not
- import templates correctly as of now.
- • Corrected the looks of the dependency arrows in the EPS output.
- • Added support for dependency arrows between classes (not reference classes).
-
-
- Changes in 2.1.3 (24 March 1999)
- • Corrected bug related to abstract classes code generation. The abstract keyword
- (used in the Java template) was output even though the class wasn't abstract.
- • Fixed the problem with invisible (white) text strings in exported pictures (PICT format).
- • Perhaps fixed the problem with dashed lines being printed as solid lines. (Can someone
- who has had this problem verify this and send me an email?)
- • Corrected some other problems (duplicated items) in exported pictures (PICT).
- • Corrected some bugs in the Interface dialog. It was mostly related to the new
- Code Generation parts which didn't work for Interfaces.
- • Corrected another bug related to closing of windows. If you closed the project
- window and got the "Do you want to save" question and then answered "Cancel"
- all items in the main windows were deleted.
- • Corrected a bug which could cause a crash if an item (attribute or operation)
- was dragged over the Project Window.
- • Corrected a bug that caused ObjectPlant to crash in the Preference dialog if you
- were using MacOS 8.1 or earlier.
- • Removed a memory leak in the drag-n-drop in dialog windows.
- • The document is now marked "dirty" if you do a "Page Setup" or change in the
- Document Preferences.
- • Added command keys for "Generate Code (All)" and "Generate Code (Selected)".
- • Changed the ProjectWindow so that one of the panes (ObjectModel, State Diagram,
- EventTrace or Use Case) is active (selected). This makes it possible to add new
- pages, delete pages and do print operations (setup and print) with the selected
- page when the ProjectWindow is in front.
- • Added description fields for operation parameters and exceptions. Also changed the
- Java code generation template so that @param and @exception descriptions are output.
- • Added the name of the page as a header of printouts.
-
-
- Changes in 2.1.2 (20 March 1999)
- • Corrected the handling operator parameters. Now the parameter type can include
- comma characters.
- • Corrected yet some more memory leaks related to drag-n-drop in the
- Project Window.
- • Corrected another problem related to drag-n-drop in the Project Window where
- the dragged page was kind of displaced (not placed in the page where it was
- supposed to be placed) and that could cause several other strange problems.
- • Corrected more memory leaks.
- • The operation parameter dialog window and operation exception dialog window
- will now remember their positions.
- • Corrected a bug that caused a crash when doubleclicking on an exception in the
- operation part of the class dialog window.
- • Corrected a bug that caused all items in a main window be deleted when the window
- was closed using the Close in the File menu.
- • Corrected a bug in the About dialog which occured when Internet Config extension
- wasn't installed and a document was open.
- • Corrected problems related to the Page Setup resources stored in the documents.
- • Added new code generation tag {HTMLENCODING}{/HTMLENCODING} that makes it
- possible to include non-standard ASCII characters in generated HTML-code
- and get the characters correctly coded, e.g. ç => ç and å => å
- • Added a "Print All Pages" item in the File menu. It will print all pages having any
- content using the individual page setups.
-
- Changes in 2.1.1 (6 March 1999)
- • Corrected a bug in Java reverse engineering. Parsing of operation parameters
- will now handle arrays properly.
- • New Java code generation template which corrects the following problems:
- - Added the necessary tags so that a class is declared `abstract'.
- - Added the output of exceptions to the VIS_NONE operations.
- - Added the necessary tags to the end of each OPERATION clause so that
- abstract methods do not put out a "body", but instead simple finish the
- declaration with a semicolon.
- • Corrected a bug related to parsing C++ code where a constructor's initializer
- contained a literal string. This did in previous versions cause the parsing to
- be aborted with an error message.
- • Generated files will now inherit the template file's colour.
- • Added clickable links to my mail-address and ObjectPlant's web-site in the
- About dialog.
- • Corrected UML notation for static class members. They are now underlined
- instead of prepended with the $ character, all in line with the 1.1 version of
- the UML notation guide.
- • The C++ parser now understands javadoc style comments. This means that
- your class, class member comments can be imported into the model
- if the are surrounded by /** */.
- • Fixed several problems which displaced lines connected to other objects when
- the lines weren't rectilinear and the objects and lines were moved.
- • Corrected a problem with self-referencing associations and aggregations that
- didn't show up in previous versions.
- • Changed maximum size of a main window to 1600x1200.
- • Corrected a problem with code generation; when a file couldn't be opened because
- it was already open by another program, a generated (empty) file wasn't deleted
- which it should be since the generation was aborted.
- • Error reports in code generation now includes a MacOS error number which will
- help identify problems.
- • Added support for F1-F4 keys as undo, cut, copy, paste in all text fields and
- diagram pages.
- • Added support for command-dragging of windows in the background without
- bringing the window to the foreground.
- • Added a "Find class" and "Find interface" menu command to the Class and Interface
- menus. This will activate the page where the class is defined.
- • Fixed a bug that changed the system font when importing code.
- • Corrected a bug that sometimes made the Add button in the Import Code dialog
- active when it shouldn't be and vice versa.
- • Corrected some bugs in the Interface dialog. The data/return type popup menu
- shall now work correctly and drag-n-drop shall also work correctly.
- • Added support for Edit->Cut
- • And some other minor bugs have been fixed.
-
-
- Changes in 2.1 (24 January 1999)
- • Corrected a drag-n-drop bug in the project window. This bug caused the program
- to hang.
- • Corrected a bug that inhibited all further drawing in the Use Case diagram
- window after having edited a Use Case name in the main window.
- • Corrected some minor updating problem related to free text items.
- • Corrected a problem with free text always using helvetica when opening a
- document and the "Use System Font" option was enabled.
- • Corrected a problem that caused strange behaviour after deleting an item.
- If deleted item constrained the possible movement of any other item, the
- constraint would remain even though the item was deleted.
- • New Word RTF template that also support Word 6.0 RTF format.
- • Enhanced the code generation so that it will now be possible to generate
- several classes into one common file.
- • The code generation should now also be able to generate more {CLASS}
- {/CLASS} section outputs, i.e. the code generation will not stop when the
- first {/CLASS} tag has been encountered. This was a bug in previous versions.
- • Added a "Append set..." button to the data types dialog so that several data
- types file may be read without clearing the list every time a new data type
- file is read.
-
- Changes in 2.0.5 (12 November 1998)
- • Corrected two bugs: one in the preferences dialog and one crash which occured
- when doubleclicking on an operations parameter.
-
- Changes in 2.0.4 (11 November 1998)
- • Corrected some update problems with Use Cases.
- • Corrected bug in code generation. Interface files were stored in the folder above the
- specified folder.
- • Corrected a crash bug related to importing Java code containing empty
- documentation comments.
- • Corrected a problem with array arguments when parsing C++ code.
- • Corrected a problem with a disappearing Class menu.
- • Corrected a crash bug which occured when trying to close all open dialog windows
- (option click in the close box of a dialog window).
- • Added some keyboard shortcuts for the four main window and also command-up
- arrow and command-down arrow to step through the pages in a window.
- • Added possibility to select between large and small UML generalization arrows.
- • Handles of a line can now be removed using the cut-tool. Option-click on a handle
- to remove it.
- • Added a preference option to be able to select if lines (association, generalization,
- dependency etc) shall be created rectilinear or oblique.
- • Added possibility to cut dependency, use case and actor generalization lines.
- • Added possibility to specify if the attributes and operations shall be displayed in
- a reference class. This is an option in the Object Model section of the preferences
- dialog. You can specify that for a certain view either all/selected/none
- attributes/operations shall be displayed in reference classes. If the "selected"
- option is active, you can select for each reference class if it shall show or hide
- the attributes/operations. This is selected by uisng the select tool and option
- click on the reference class. A popup-menu will appear where you can select to
- hide or show the attributes/operations.
- • And much more...
-
- Changes in 2.0.3 (3 October 1998)
- • Added support for parsing C++ exception specifiers.
- • Added support for inheritance between actors in use case diagrams.
- • Added support for type conversion operators, eg:
- operator int();
- • Added support for parsing of the namespace keyword. When a namespace keyword
- is parsed, a corresponding package will be created (remember to change the
- "create package" preference option if you are using namespaces).
- • Added auto-scrolling for drag-n-drop in the left pane of the class and interface
- dialog windows.
- • Added possibility to automatically include all implemented operations in a
- class implementing an interface.
- • Added the possibility to define a set of identifiers which will be ignored when
- parsing code. This can be useful to exclude macros which have no meaning for
- the class definition, for example the EXPORT_MA and INIT_FMESSAGE macros
- used in all MacApp class headers.
- • Corrected C++ parsing of operations returning a namespace qualified type.
- • Corrected a bug that could cause ObjectPlant freezing when changing the
- size of the project window.
- • Corrected the parsing of structs within class definitions.
- • Expanded the stack in the 68k which should reduce the risk of crashing due to
- stack colliding with the heap.
- • Corrected another problem with the 68k version. When loading large data type
- files ObjectPlant sometimes crashed.
- • Corrected a problem that occured after saving a file. Then the wrong resource
- file was used which could result in strange errors, for example the help dialog
- was empty when being displayed.
- • Corrected quite a few problems with the C++ parser.
- • And much more...
-
- Changes in 2.0.2 (18 September 1998)
-
- • Added more support for C++ template types. This means that template types will
- be parsed correctly even when inherited but templates themselves are still not
- supported.
- • Corrected a bug that related to importing (reverse engineering) Java comments.
- If the comment started on the same line as the /** an error occured causing a
- break into MacsBug or if you don't have it installed, ObjectPlant crashed.
- • Corrected a bug which could cause a crash when using reference items (class
- references or interface references).
- • Corrected a giant memory leak which slowly degraded the performance.
- • The dialog windows are now resizable but not all fields in the dialogs
- respond to the changed size.
- • Corrected a bug when parsing java comments related to constructor methods.
- • And much more...
-
- Changes in 2.0.1 (7 September 1998)
-
- • Added support for C++ template types. This means that template types will be parsed
- correctly but templates themselves are still not supported.
- • Added support for reverse enginnering of Java comments. Class, operation and attribute
- descriptions within a /** */ comment will be parsed and added to the object model.
- • Corrected a problem with a blinking cursor in the Event Trace diagram.
- • Corrected a bug that resulted in a "Syntax error" dialog when parsing C++ code
- with namespace qualifiers, e.g. void function( ClassA::MyType par1 );
- • Java class initializers will now be parsed correctly and not generate a "Syntax error".
- • It should now be easier to select and move lines, and in particular to "grab"
- the handles of a line.
- • New code generation templates for Class.java and C++Template.cc (also separately
- released on the web-site).
- • Corrected a bug that made the "Import code..." file dialog show up without displaying
- either *.h, *.hpp or *.java files.
- • Made the file filtering in the Import code dialog case independent.
- • Added the lost "By Value" checkbox in the aggregation dialog window.
- • Corrected problem in Java parser when extending class by their full path, e.g.
- extends awt.Component instead of extends Component. In the latter case a class
- named awt.Component was created instead of a class Component in the package awt.
- (This goes for the implements statement too.)
- • And much more...
-
- Changes in 2.0 (24 August 1998)
-
- • Added C++ and Java reverse engineering. Handles version 1.1 of Java but ignores inner
- classes.
- • Corrected a bug that caused documents to be corrupted when read into ObjectPlant.
- The bug is now fixed, but your documents may still be corrupt if saved after
- ObjectPlant had corrupted it. If you have any problems with a document, email it
- to me and I'll try to fix it manually.
- • Changed the Page Palette into an ordinary Project window listing the pages of all four
- diagrams. Closing the Project Window closes the project.
- • Made it possible to change the heirarchy of packages.
- • Extended Use Case diagrams. Now you can add extension points to a use case.
- • Corrected a bug that could cause a crash when creating new documents (File->New)
- or when opening old documents (File->Open...).
- • Added an option to get type popupmenus sorted (a quick sort performed only on the
- first four letters of each word).
- • Added an option to get type popupmenus to include all classes defined in the document.
- • Corrected the looks of the supplier relation (between a class and an interface).
- Now it conforms to UML 1.1 using a generalization arrow.
- • Added more small icons (for MacOS 8.5).
- • Code generation templates: several instances of the USERCODE tag can now be included
- in a code generation template.
- • Changed the line drawing algorithm for generalizations, aggregations, associations and
- supplier relations. A generalization, aggregation, association and supplier relation can
- now be forced to be rectilinear (checkbox in dialog window). If a generalization,
- aggregation, association and supplier relation is rectilinear when opening an old file,
- the rectilinear checkbox will be set automatically.
- • New Java templates that make use of the SYNCHRONIZED tag.
- • In abstract classes operations are written in italics only if the operation is abstract.
- (This is not yet true for EPS exported pictures.)
- • Moved some preferences from being application based to document (project) unique.
- • Changed behaviour of the attribute's initializer field (in the class dialog) so that it
- scrolls when moving outside of the edit field.
- • Added a new code generation tag {REVERSEDEEPANCESTORLIST}. It does basically the
- same as the {DEEPANCESTORLIST} but lists the hierarchy the other way round.
- • Added a "Continue All" button in the alert warning for a template file that is
- younger than the generated file.
- • Added a new tag {IMPLEMENTS}{/IMPLEMENTS} that can be used for Java to automatically
- generate methods for implemented interfaces. This means that you don't explicitly need
- to define these methods in the class to have them generated.
- • Added support for Navigation Services (PowerPC only).
- • Corrected a bug that caused the preview of exported EPS files not always be stored in
- the same folder as the EPS file itself.
- • Changed the way the supplier tools works. It will now be consistent with the
- generalization tool. You should start pointing to the class and draw a line to
- interface and then release the mouse button.
- • Corrected a bug related to importing data tupes.
- • Added two new data type files, one for Java and one for Mac types.
- • The in/out IDL information shall now be visible for both class and interface
- operation parameters.
-